Automatic obscuration of a portion of a screen-share view

ABSTRACT

The technology disclosed herein enables automatic obscuration of a portion of a view shared during a screen sharing session. In a particular embodiment, a method includes receiving a view displayed by a first user system to a first user. The method further includes identifying a portion of the view not to be shared and obscuring the portion of the view to generate a shared view. Also, the method includes transmitting the shared view to a second user system over a real-time screen sharing session, wherein the second user system displays the shared view to a second user.

TECHNICAL BACKGROUND

A screen sharing client executing on a user system captures visualsdisplayed by the user system (e.g., entire desktops, particularapplication windows, etc.) and sends the visuals to one or more othersystems for display thereat in real time. Users at the other systems arethen able see what the user system is displaying without having to belocated at the user system. Many screen sharing clients are incorporatedinto telecommunication clients (e.g., a videoconferencing client), whichprovides screen sharing features to participants on telecommunicationsessions. For example, a user may want to show a document to other userson a telecommunication session and initiates a screen sharing session toshare their desktop view, which includes a window showing the document,accordingly. During the screen sharing session, there may be content,other than the document, that is captured for sharing that the user doesnot want to be shared with others.

SUMMARY

The technology disclosed herein enables automatic obscuration of aportion of a view shared during a screen sharing session. In aparticular embodiment, a method includes receiving a view displayed by afirst user system to a first user. The method further includesidentifying a portion of the view not to be shared and obscuring theportion of the view to generate a shared view. Also, the method includestransmitting the shared view to a second user system over a real-timescreen sharing session, wherein the second user system displays theshared view to a second user.

In some embodiments, the method includes displaying an indication of theportion of the view to the first user. The indication may include aborder around the portion of the view.

In some embodiments, the method includes receiving user input from thefirst user, wherein the user input modifies the portion of the view.

In some embodiments, identifying the portion of the view includesproviding the view to a machine learning algorithm trained to identifydisplay elements that are not to be viewed by a second user. The machinelearning algorithm may output parameters defining locations of the viewthat are included in the portion of the view. In these examples, themethod may include providing, to the machine learning algorithm,training views and indications of a portion in the training views thatare not to be shared to train the machine learning algorithm. In somecases, the method also includes receiving user input from the firstuser, wherein the user input modifies the portion of the view andproviding, to the machine learning algorithm, the view and an indicationof the portion of the view, as modified by the user input, to train themachine learning algorithm. In those cases, the method may includereceiving second user input that requests for the view and theindication be used to train the machine learning algorithm.

In some embodiments, the method includes receiving user input enabling aview-obscuring feature, wherein obscuring the portion of the view togenerate the shared view occurs when the view-obscuring feature isenabled.

In another embodiment, an apparatus is provided having one or morecomputer readable storage media and a processing system operativelycoupled with the one or more computer readable storage media. Programinstructions stored on the one or more computer readable storage media,when read and executed by the processing system, direct the processingsystem to receive a view displayed by a first user system to a firstuser. The program instructions further direct the processing system toidentify a portion of the view that not to be shared obscure the portionof the view to generate a shared view. The program instructions alsodirect the processing system to transmit the shared view to a seconduser system over a real-time screen sharing session, wherein the seconduser system displays the shared view to a second user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an implementation for automatically obscuring aportion of a view shared during a screen sharing session.

FIG. 2 illustrates an operational scenario to automatically obscure aportion of a view shared during a screen sharing session.

FIG. 3 illustrates an operational scenario to automatically obscure aportion of a view shared during a screen sharing session.

FIG. 4 illustrates a display view for automatically obscuring a portionof a view shared during a screen sharing session.

FIG. 5 illustrates a display view for automatically obscuring a portionof a view shared during a screen sharing session.

FIG. 6 illustrates a display view for automatically obscuring a portionof a view shared during a screen sharing session.

FIG. 7 illustrates a display view for automatically obscuring a portionof a view shared during a screen sharing session.

FIG. 8 illustrates a computing architecture for automatically obscuringa portion of a view shared during a screen sharing session.

DETAILED DESCRIPTION

The screen sharing system described herein automatically identifies andobscures a portion of a user’s view being shared on a screen sharingsession. The portion is, therefore, unable to be viewed by other userson the screen sharing session. The portion may include any type ofcontent that a user may not want to be shared (e.g., the content may beprivate or embarrassing for the user) including content within a windowhaving content that the user wants to be shared. For example, a webbrowser window may be included in the user’s shared view to show awebpage to other users on a screen sharing session. There may be displayelements in the web browser window that include content that the userwould not want shared (nor has any reason to be shared). For instance,the window may show other open browser tabs that are not currently inthe foreground, which the user may not want others to see. Similarly,the webpage shown in the browser window may include a targetedadvertisement that the user may not want other users to see along withthe rest of the webpage. The screen sharing system identifies the abovedisplay elements (i.e., the browser tabs and targeted advertisement) andobscures (e.g., blurs, blacks out, etc.) a portion of the view thatincludes the display elements before transmitting the view to others onthe screen sharing session.

FIG. 1 illustrates implementation 100 for automatically obscuring aportion of a view shared during a screen sharing session. Implementation100 includes screen sharing system 101, user system 102, user system103, and communication network 104. Screen sharing system 101 andcommunication network 104 communication over communication link 111.User system 102 and communication network 104 communication overcommunication link 112. User system 103 and communication network 104communicate over communication link 113. Communication links 111-113 maybe wired and/or wireless. Communication links 111-113 are shown asdirect links but may include intervening systems, networks, and/ordevices. User 142 operates user system 102 and user 143 operates usersystem 103. User systems 102-103 may each be a telephone, laptop,personal computer, tablet computer, or some other type of user operablecomputing system. Communication network 104 includes one or morenetworks, such as a circuit switched telephone network, local areapacket network, wide area network (e.g., the Internet), or some othertype of network over which telecommunications may be carried — includingcombinations thereof.

In operation, screen sharing system 101 facilitates real-time screensharing sessions between two or more user system endpoints (user system102 and user system 103 in this example). In some examples, user system102 and/or user system 103 may execute a client application to connectto screen sharing system 101 to connect to a view-sharing session. Aview-sharing session may be a component of, or otherwise associatedwith, a real-time user communication (e.g., voice/video call, text chat,etc.) between user system 102 and user system 103. For example, user 142may be speaking with user 143 over a video call session and may chooseto share the screen of user system 102 over that session to showsomething displayed thereon to user 143 in real-time. During a screensharing session, any changes to the view displayed by user system 102 touser 142 are propagated to a display of the view in real-time at usersystem 103 for user 143 to see. While only two user systems aredescribed in this example, any number of user systems may join a screensharing session. The view at user system 102 would then be propagated toall the systems on the session.

FIG. 2 illustrates operational scenario 200 to automatically obscure aportion of a view shared during a screen sharing session. In operationalscenario 200, screen sharing system 101 receives a view displayed byuser system 102 to user 142 (201). The view may include the entirety ofwhat is being displayed by user system 102 or may be a subset of what isbeing displayed (e.g., only a particular window or windows, a particularapplication or applications, etc.). The view is received by screensharing system 101 over a screen sharing session facilitated by screensharing system 101 between user system 102 and user system 103. The viewmay be captured at user system 102 by a screen sharing clientapplication executing thereon. To facilitate the real-time aspect of thescreen sharing session, the view may continually captured and encodedinto a video stream transmitted to screen sharing system 101 from usersystem 102. Alternative mechanisms for transmitting the view may also beused.

Screen sharing system 101 identifies a portion of the view not to beshared (202). Screen sharing system 101 may use an image recognitionalgorithm(s) to process the view and identify display elements therein(e.g., windows, portions of windows, images, text blocks, icons, etc.).Predefined rules may be used to determine which of the display elementsshould be included in the portion. For instance, the rules may indicateto include in the portion all advertisements, all windows of aparticular application(s), only certain windows of particularapplication(s), certain display elements within application interfaces,and/or some other definition of a display element. The identifiedportion does not have to be contiguous within the view. Rather, theportion may include display elements scattered throughout the view andnot touching one another.

In some examples, the Artificial Intelligence (AI) of a machine learningmodel may be employed to identify the portion of the view. The machinelearning model may be trained using a training set of views thatindicates in each view a portion that should not be shared. The machinelearning model automatically learns characteristics of the displayelements in the portions that should not be shared and characteristicsof display elements that should be shared. As such, when the view fromuser system 102 is provided to the machine learning model in thisexample, the model outputs the portion that the model has determined toinclude display elements not to be shared based on the learnedcharacteristics. The model may be trained in general for use across alluser systems or may be tailored to user 142's preferences specifically.Also, during the screen sharing session, user system 102 may present aninterface to user 142 that enables user 142 to modify the portion not tobe shared. For instance, user 142 may be able to indicate displayelements that should be obscured but currently are not, may be able tochange the size/shape of an area being obscured, may be able to indicatea display element currently being obscured that should not be obscured,or may modify the portion in some other manner. In addition to changingthe portion of the current view, the modifications by user 142 may alsobe used to further train the machine learning algorithm. User 142 may begiven the option regarding whether the modifications should be used totrain the machine learning algorithm.

Screen sharing system 101 obscures the portion of the view identifiedabove to generate a shared view (203). Screen sharing system 101 mayblur the portion, may insert a opaque color or pattern over the portion(e.g., may blackout the portion or use a color that is similar to colorssurround the pattern), or may prevent the portion from being viewed whendisplayed at the receiving end of the screen sharing session in someother manner — including combinations thereof. The generated shared viewis, therefore, a version of the view that has the portioned obscured butis otherwise unmodified from the condition in which it was received fromuser system 102. In some examples, the shared view may indicate that theportion is intentionally obscured so that user 143 does not think thereis an issue with user system 103 that is causing the portion to beobscured.

Screen sharing system 101 transmits the shared view to user system 103over the real-time screen sharing session (204). User system 103displays the shared view to user 143. Since the original view receivedfrom user system 102 is not transmitted to user system 103, user system103 is not able to display the obscured portion of the shard view. Asthe view is continually updated from user system 102 to screen sharingsystem 101 (e.g., based on user 142 interacting with user system 102),screen sharing system 101 continues in real-time to identify a portionof the view not to be shared, obscure the portion to generate the sharedview, and transmit the shared view to user system 103 for display. Forinstance, user 142 may open a new application that changes the view(e.g., a window for the new application will be displayed by user system102 to user 142) and screen sharing system 101 will receive the viewincluding that change. Screen sharing system 101 will then determinewhether anything in the change should be included in the portion andgenerate the shared view accordingly.

Advantageously, with screen sharing system 101 automatically obscuring aportion of the view from user system 102, user 142 should not have toworry about unwanted content being shared with user 143 or any otheruser on the session. Screen sharing system 101 may implement theabove-described view-obscuring feature with all screen sharing sessionsor user 142 may provide input to enable the feature. For example, ascreen sharing interface at user system 102 may provide a toggle foruser 142 to enable/disable the view-obscuring feature.

While the example above describes the view-obscuring feature beingimplemented in screen sharing system 101, other examples may implementthe view-obscuring feature in a system other than that which facilitatesthe screen sharing session, such as user system 102. In some cases,screen sharing system 101 may not be necessary to facilitate a screensharing session. Rather, user system 102 and user system 103 mayestablish a screen sharing session on a peer-to-peer basis.

FIG. 3 illustrates operational scenario 300 to automatically obscure aportion of a view shared during a screen sharing session. Operationalscenario 300 describes operations of user system 302 and user system303. User system 302 and user system 303 are examples of user system 102and user system 103, respectively, in an example where screen sharingsystem 101 does not provide the view-obscuring feature. Rather, usersystem 302 performs the steps of the view-obscuring feature itself. Itshould, therefore, be understood that similar steps may be performed byscreen sharing system 101 in examples where screen sharing system 101performed the view-obscuring feature.

In operational scenario 300, user system 302 and user system 303establish a real-time screen sharing session between themselves atstep 1. User system 302 captures view 311, which is currently beingdisplayed, to receive view 311 for processing at step 2. Rather thansharing view 311 as captured, user system 302 provides view 311 at step3 to a machine learning algorithm AI that identifies a portion not to beshared over the real-time screen sharing session. The AI identifies theportion by providing output that specifies a location(s) in view 311that should be obscured. Each location output by the AI identifies anarea of view 311. The area may be defined based on distances (e.g.,measured in pixels of the view) from an origin point (e.g., a corner ofthe view, the center of the view, etc.) and may define a shape and sizeof an area. Based on the location(s) output by the AI, screen sharingsystem 101 obscures the portion of view 311 defined by the location(s)to create shared view 312 at step 4. As noted before, the portion may beobscured by blurring the location, by replacing the portion with othervisual information (e.g., blacking out the portion), or otherwisepreventing the content displayed in the portion from being included inshared view 312. In some examples, rather than the machine learningalgorithm simply outputting location(s) of the portion, the machinelearning algorithm may be trained to obscure the portion. Shared view312 would be the output of the algorithm when view 311 is input in thoseexamples.

User system 302 shares shared view 312 with user system 303 at step 5 bytransmitting shared view 312 to user system 303 over the screen sharingsession. Upon receiving shared view 312, user system 303 displays sharedview 312 at step 6. During the screen sharing session steps 106 continueto be performed to provide updates to view 311 and shared view 312 inreal-time. Shared view 312 is, therefore, always up to date with what isbeing displayed by user system 302 in view 311, although, with an AIidentified portion of view 311 being obscured. In some examples, it ispossible that the AI does not identify any portion of view 311 thatshould be obscured. In those cases, shared view 312 may be identical toview 311 until the AI finds something in view 311 that should beobscured (e.g., a new window may be opened into view 311 that AIdetermines should be obscured).

FIG. 4 illustrates display view 400 for automatically obscuring aportion of a view shared during a screen sharing session. Display view400 includes an example Graphical User Interface (GUI) of an operatingsystem executing on user system 102 and is displayed by a display ofuser system 102. Display view 400 is sometimes referred to as a desktopof the operating system. In this example, user system 102 is executingapplication 421, application 422, and application 423. Display view 400includes application window 401 of application 421, application window402 of application 422, and application window 403 of application 423.Window 401 is currently the focus window (e.g., the window that is atthe forefront on display view 400) while windows 402 and 403 are not thefocus and can, therefore, be behind window 401, as shown. Display view400 includes menu bar 412 at the bottom of the GUI, although, an OS inanother example may position menu bar 412 elsewhere or not include menubar 412 at all in favor of a different type of GUI. Menu bar 412 showsthat application 421, application 422, and application 423 are currentlyopen on user system 102. The right side of menu bar 412 includes tray411, which shows that a screen sharing client (i.e., “SS”) is executing.In other examples, the screen sharing client may by included withapplications 421-423 on menu bar 412 outside of the tray 411. In someexamples (e.g., those where the screen sharing client is also areal-time voice/video communication client), the screen sharing clientmay display a window in display view 400. Cursor 441 is controlled byuser 142 using a mouse or trackpad of user system 102 to interact withelements displayed in display view 400 (e.g., select icons, selectwindows, move windows, interact with windows, etc.). Other examples mayuse different user input devices to enable user 141 to move cursor 441or may eschew cursor 441 altogether for interacting with display view400 (e.g., a touchscreen without a displayed cursor).

In this example, application window 401 includes display elements431-434. Display elements 431-434 may include any type of content thatcan be displayed by a user system. The content may be an icon, text,graphic, photo, video, menu item, interface button, or some otherdistinct item of visual content — including combinations thereof.Although not shown for clarity, application window 402 and applicationwindow 403, or the background on which they are displayed, may similarlyinclude display elements. In some examples, the background itself may bea display element. While display elements 431-434 are shown with bordersto differentiate from one another, it should be understood that no suchborder is necessary for differentiation between display elements (e.g.,an advertisement may be displayed next to a text block with no dividingelement, such as a line or border, in between).

For the purposes of this example, the entirety of display view 400 iscaptured by the screen sharing client and shared with user system 103.In other examples, the screen sharing client may capture less than allof what is shown in display view 400 for sharing. For instance, thescreen sharing client may only capture and share window 401.

FIG. 5 illustrates display view 500 for automatically obscuring aportion of a view shared during a screen sharing session. Display view500 is an example of a shared view generated from display view 400 byscreen sharing system 101 (or user system 102 itself in examples whereuser system 102 provides the view-obscuring feature). Display view 500is, therefore, an example of how display view 400 is displayed at usersystem 103 after a portion of display view 400 has been obscured fromview by screen sharing system 101, as described above. As can be seen indisplay view 500, the portion of display view 400 that has been obscuredincludes application window 402, the place holder for application 422 inmenu bar 412, display element 431, and display element 433.

In an example, application 421 may be a web browser application withapplication window 402 being a browser window of application 421.Display element 431 may be a browser tab bar that is common in modernweb browsing windows and display element 433 may be an advertisement ona webpage being displayed in application window 401. The tab bar may beincluded in the obscured portion so that other webpages in other tabs ofapplication window 401 remain private to user 142. The advertisement maybe included so that the types of products/services being targeted touser 142 remains private. Also, in this example, application 422 may bean instant messaging application that includes messaging conversationsthat should remain private. In addition to obscuring application window402 in the portion, screen sharing system 101 includes the indicator forapplication 422 in the obscured portion. By obscuring the indicator forapplication 422, user 143 is unaware of the particular application andapplication window that is being obscured, which further enhances user142's privacy.

While the discussion in the above example provides reasons for whydisplay element 431, display element 433, application window 402, andthe indicator of application 422 are included in the portion, it shouldbe understood that those reasons may be irrelevant to screen sharingsystem 101's determination to included them in the obscured portion.Rather, screen sharing system 101 may instead rely solely oncharacteristics of the display elements themselves. For instance, amachine learning algorithm AI may identify the portion based on thecharacteristics of the elements being displayed in display view 400.

FIG. 6 illustrates display view 600 for automatically obscuring aportion of a view shared during a screen sharing session. Display view600 is an example of how display view 400 may be displayed by usersystem 102 to user 142 when display view 400 is being shared to usersystem 103 as display view 500. In particular, the display elementsbeing obscured by screen sharing system 101 to generate display view 500are indicated in display view 600. A unique border surrounds displayelement 431, display element 433, application window 402, and theindicator of application 422 to signify that those elements are includedin the obscured portion of display view 500. Other examples may usealternative mechanisms for indicating the obscured portion (e.g., mayshade/dim the obscured portion) while still allowing user 142 to viewthe content.

FIG. 7 illustrates display view 700 for automatically obscuring aportion of a view shared during a screen sharing session. Display view700 is displayed by user system 102 to user 142 and is an example ofdisplay view 600 after user 142 triggers the display of query window701. Query window 701 is displayed as part of a mechanism for user 142to provide input to screen sharing system 101, via user system 102,modifying the portion that is obscured to generate display view 500. Inthis example, user 142 provides input that triggers the display of querywindow 701. The input indicates that user 142 wants application window403 to also be included in the portion that is obscured in display view500. In one example, user 142 may position cursor 441 over applicationwindow 403 and right click for user system 102 to display a menu ofoptions. One of those options may be from the screen sharing client and,when selected, opens query window 701. In another example, user 142 mayselect the indicator for the screen sharing client in tray 411 (or mayuse a keyboard hot key command, voice command, etc.), which may enableuser 142 to select a display element that should be included in theportion that is obscured by screen sharing system 101. For instance,cursor 441 may be use to trace or otherwise indicate a display element(i.e., application window 403 in this case) that should be included inthe obscured portion.

In some examples, upon user 142 indicating application window 403 forinclusion in the obscured portion, screen sharing system 101 may simplybegin obscuring application window 403. In this example, query window701 is displayed to at least receive confirmation the user 142 intendsfor application window 403 to be included in the obscured portion. Querywindow 701 provides user 142 with three different options. User 142 mayselect that, yes, they want application window 403 to be obscured butjust this once or that, yes, they want application window 403 obscuredbut they also want to train the machine learning algorithm to includewindows like application window 403 in the obscured portionautomatically in the future. Should user 142 select the latter “yes”option, screen sharing system 101 feeds application window 403 into themachine learning algorithm with an indication that application window403 should be included in the obscured portion. The machine learningalgorithm automatically trains itself based on the characteristics ofapplication window 403 (e.g., the application associated therewith, thecontent displayed in the window, interface elements in the window, etc.)to recognize similar windows in the future. Query window 701 alsoprovides user 142 with the option to cancel, as may be the case if theyinadvertently selected application window 403 or have since changedtheir mind.

In the above example, user 142 is able to indicate a display elementthat was not included in the obscured portion, as shown in display view500. In other examples, user 142 may be able to modify the obscuredportion in some other manner. For instance, user 142 may use cursor 441to drag an edge/corner of the border surrounding display element 431 toresize and/or move the obscured area corresponding to display element431 (e.g., screen sharing system 101 may not have included everything inthe obscured area initially). Similarly, user 142 may indicate that anelement, such as display element 433, need not be obscured. In thoseexamples, user 142 may be presented with a window similar to querywindow 701 where user 142 can indicate whether they want to train themachine learning algorithm to not obscure elements like display element433 in the future.

FIG. 8 illustrates computing architecture 800 for automaticallyobscuring portions of a view shared during a screen sharing session.Computing architecture 800 is an example computing architecture forscreen sharing system 101, although screen sharing system 101 may usealternative configurations. Computing architecture 800 may also be anexample computing architecture for other computing elements herein, suchas user systems 102, 103, 302, and 303. Computing architecture 800comprises communication interface 801, user interface 802, andprocessing system 803. Processing system 803 is linked to communicationinterface 801 and user interface 802. Processing system 803 includesprocessing circuitry 805 and memory device 806 that stores operatingsoftware 807.

Communication interface 801 comprises components that communicate overcommunication links, such as network cards, ports, RF transceivers,processing circuitry and software, or some other communication devices.Communication interface 801 may be configured to communicate overmetallic, wireless, or optical links. Communication interface 801 may beconfigured to use TDM, IP, Ethernet, optical networking, wirelessprotocols, communication signaling, or some other communication format —including combinations thereof.

User interface 802 comprises components that interact with a user. Userinterface 802 may include a keyboard, display screen, mouse, touch pad,or some other user input/output apparatus. User interface 802 may beomitted in some examples.

Processing circuitry 805 comprises microprocessor and other circuitrythat retrieves and executes operating software 807 from memory device806. Memory device 806 comprises a computer readable storage medium,such as a disk drive, flash drive, data storage circuitry, or some othermemory apparatus. In no examples would a storage medium of memory device806 be considered a propagated signal. Operating software 807 comprisescomputer programs, firmware, or some other form of machine-readableprocessing instructions. Operating software 807 includes view-sharingmanager 808. Operating software 807 may further include an operatingsystem, utilities, drivers, network interfaces, applications, or someother type of software. When executed by processing circuitry 805,operating software 807 directs processing system 803 to operatecomputing architecture 800 as described herein.

In particular, view-sharing manager 808 directs processing system 803 toreceive a view displayed by a first user system to a first user.View-sharing manager 808 further directs processing system 803 toidentify a portion of the view that not to be shared and obscure theportion of the view to generate a shared view. Also, view-sharingmanager 808 directs processing system 803 to transmit the shared view toa second user system over a real-time screen sharing session, whereinthe second user system displays the shared view to a second user.

The descriptions and figures included herein depict specificimplementations of the claimed invention(s). For the purpose of teachinginventive principles, some conventional aspects have been simplified oromitted. In addition, some variations from these implementations may beappreciated that fall within the scope of the invention. It may also beappreciated that the features described above can be combined in variousways to form multiple implementations. As a result, the invention is notlimited to the specific implementations described above, but only by theclaims and their equivalents.

1. A method comprising: receiving a view displayed by a first usersystem to a first user; identifying a portion of the view not to beshared, wherein identifying the portion of the view includes processingthe view to identify display elements in the view that are not to beviewed by a second user; after the processing, displaying an indicationof the portion of the view to the first user on the view, wherein theindication identifies the portion of the view to the first user andsignifies to the first user that the portion is obscured when the viewis shared; obscuring the portion of the view to generate a shared view;and transmitting the shared view to a second user system over areal-time screen sharing session, wherein the second user systemdisplays the shared view to the second user.
 2. The method of claim 1,wherein the indication still allows the portion to be viewed by thefirst user.
 3. The method of claim 2, wherein the indication comprises aborder around the portion of the view.
 4. The method of claim 1,comprising: after displaying the indication, receiving user input fromthe first user, wherein the user input modifies the portion of the view.5. The method of claim 1, wherein identifying the portion of the viewcomprises: providing the view to a machine learning algorithm trained toidentify display elements that are not to be viewed by a second user. 6.The method of claim 5, wherein the machine learning algorithm outputsparameters defining locations of the view that are included in theportion of the view.
 7. The method of claim 5, comprising: providing, tothe machine learning algorithm, training views and indications ofportions in the training views that are not to be shared to train themachine learning algorithm.
 8. The method of claim 5, comprising:receiving user input from the first user, wherein the user inputmodifies the portion of the view; and providing, to the machine learningalgorithm, the view and an indication of the portion of the view, asmodified by the user input, to train the machine learning algorithm. 9.The method of claim 8, comprising: receiving second user input thatrequests for the view and the indication be used to train the machinelearning algorithm.
 10. The method of claim 1, comprising: receivinguser input enabling a view-obscuring feature, wherein obscuring theportion of the view to generate the shared view occurs when theview-obscuring feature is enabled.
 11. An apparatus comprising: one ormore computer readable storage media; a processing system operativelycoupled with the one or more computer readable storage media; andprogram instructions stored on the one or more computer readable storagemedia that, when read and executed by the processing system, direct theprocessing system to: receive a view displayed by a first user system toa first user; identify a portion of the view that not to be shared,wherein identification of the portion of the view includes processingthe view to identify display elements in the view that are not to beviewed by a second user; after the processing, display an indication ofthe portion of the view to the first user on the view, wherein theindication identifies the portion of the view to the first user andsignifies to the first user that the portion is obscured when the viewis shared; obscure the portion of the view to generate a shared view;and transmit the shared view to a second user system over a real-timescreen sharing session, wherein the second user system displays theshared view to the second user.
 12. The apparatus of claim 11, whereinthe indication still allows the portion to be viewed by the first user.13. The apparatus of claim 12, wherein the indication comprises a borderaround the portion of the view.
 14. The apparatus of claim 11, whereinthe program instructions direct the processing system to: after theindication is displayed, receive user input from the first user, whereinthe user input modifies the portion of the view.
 15. The apparatus ofclaim 11, wherein to identify the portion of the view, the programinstructions direct the processing system to: provide the view to amachine learning algorithm trained to identify display elements that arenot to be viewed by a second user.
 16. The apparatus of claim 15,wherein the machine learning algorithm outputs parameters defininglocations of the view that are included in the portion of the view. 17.The apparatus of claim 15, wherein the program instructions direct theprocessing system to: provide, to the machine learning algorithm,training views and indications of portions in the training views thatare not to be shared to train the machine learning algorithm.
 18. Theapparatus of claim 15, wherein the program instructions direct theprocessing system to: receive user input from the first user, whereinthe user input modifies the portion of the view; and provide, to themachine learning algorithm, the view and an indication of the portion ofthe view, as modified by the user input, to train the machine learningalgorithm.
 19. The apparatus of claim 18, wherein the programinstructions direct the processing system to: receive second user inputthat requests for the view and the indication be used to train themachine learning algorithm.
 20. One or more non-transitory computerreadable storage media having program instructions stored thereon that,when read and executed by a processing system, direct the processingsystem to: receive a view displayed by a first user system to a firstuser; identify a portion of the view that not to be shared, whereinidentification of the portion of the view includes processing the viewto identify display elements in the view that are not to be viewed by asecond user; after the processing, display an indication of the portionof the view to the first user on the view, wherein the indicationidentifies the portion of the view to the first user and signifies tothe first user that the portion is obscured when the view is shared;obscure the portion of the view to generate a shared view; and transmitthe shared view to a second user system over a real-time screen sharingsession, wherein the second user system displays the shared view to thesecond user.